字典(Dictionary)是 Python 中一個常用的資料結構,用於儲存一組鍵值對(Key-Value pairs)。每個鍵對應到一個值,可以根據鍵來快速存取對應的值,它是一種無序的鍵值對集合,用於存儲可變的、可索引的資料。字典以大括號 {}
表示,每個鍵值對之間使用冒號 :
分隔。以下是字典的基本用法:
字典的特點:
使用 {}
大括號創建字典,每個鍵值對使用冒號 :
分隔,並且鍵值對之間使用逗號 ,
分隔。
# 創建一個字典
student = {
"name": "Alice",
"age": 18,
"gender": "female"
}
可以使用鍵來存取字典中的值。
# 存取字典中的值
print(student["name"]) # 輸出:Alice
print(student["age"]) # 輸出:18
print(student["gender"]) # 輸出:female
可以根據鍵來修改字典中的值。
# 修改字典中的值
student["age"] = 19
print(student["age"]) # 輸出:19
可以使用鍵來新增鍵值對。
# 新增鍵值對
student["city"] = "New York"
print(student)
# 輸出:{'name': 'Alice', 'age': 19, 'gender': 'female', 'city': 'New York'}
可以使用 del
關鍵字來刪除字典中的鍵值對。
# 刪除鍵值對
del student["gender"]
print(student)
# 輸出:{'name': 'Alice', 'age': 19, 'city': 'New York'}
可以使用 in
關鍵字來檢查特定的鍵是否存在於字典中。
# 檢查鍵是否存在
if "age" in student:
print("age 鍵存在")
else:
print("age 鍵不存在")
字典是一個非常有用的資料結構,能夠幫助你組織和存儲各種資料,並且支援快速的存取和修改操作。
在 Python 中,你可以使用迴圈來輪詢字典中的鍵和值。有幾種方式可以實現這個輪詢的過程,讓我們來看看幾個例子:
你可以使用 for
迴圈來輪詢字典的鍵。
student = {
"name": "Alice",
"age": 18,
"city": "New York"
}
for key in student:
print(key)
# 輸出:name
# 輸出:age
# 輸出:city
你可以使用 .values()
方法來輪詢字典的值。
for value in student.values():
print(value)
# 輸出:Alice
# 輸出:18
# 輸出:New York
你可以使用 .items()
方法來輪詢字典的鍵值對,並同時取得鍵和值。
for key, value in student.items():
print(f"{key}: {value}")
# 輸出:name: Alice
# 輸出:age: 18
# 輸出:city: New York
這些方法可以幫助你在迴圈中有效地輪詢字典的內容,並進行相應的操作。無論是輪詢鍵、值,還是鍵值對,都能夠很方便地進行。
方法 | 說明 | 範例 |
---|---|---|
len(dictionary) | 返回字典中鍵值對的數量。 | len(my_dict) |
dictionary[key] | 通過鍵取得對應的值。 | value = my_dict['key'] |
dictionary[key] = value | 通過鍵設定新的鍵值對。 | my_dict['new_key'] = 'new_value' |
key in dictionary | 檢查指定的鍵是否存在於字典中,返回布林值。 | if 'key' in my_dict: |
dictionary.get(key) | 返回指定鍵對應的值,如果鍵不存在,則返回指定的預設值。 | value = my_dict.get('key', default) |
dictionary.pop(key) | 刪除指定鍵的鍵值對,返回對應的值。 | removed_value = my_dict.pop('key') |
dictionary.keys() | 返回字典中所有的鍵的列表。 | keys_list = my_dict.keys() |
dictionary.values() | 返回字典中所有的值的列表。 | values_list = my_dict.values() |
dictionary.items() | 返回字典中所有的鍵值對的元組列表。 | items_list = my_dict.items() |
dictionary.clear() | 清空字典中的所有鍵值對,使其變為空字典。 | my_dict.clear() |
dictionary.copy() | 返回字典的副本。 | new_dict = my_dict.copy() |
dictionary.update(other_dict) | 將另一個字典的鍵值對更新到原字典中。 | my_dict.update(new_dict) |
dictionary.setdefault(key, default) | 返回指定鍵對應的值,如果鍵不存在,則設定該鍵的值為預設值。 | value = my_dict.setdefault('key', default) |
集合(Set)是 Python 中的一種無序、可變的資料結構,用於存儲多個元素,且集合中的元素是唯一的(不重複)。集合使用大括號 {} 來定義,元素之間使用逗號 , 分隔。
my_set = {1, 2, 3}
another_set = set([3, 4, 5])
集合有以下特點:
你可以使用集合來解決需要存儲一組元素,但不需要考慮元素順序和重複的問題的情況。
集合提供了各種方法來執行集合間的交集、聯集、差集等操作。
my_set = {1, 2, 3}
my_set.add(4)
print(my_set) # 輸出:{1, 2, 3, 4}
my_set = {1, 2, 3, 4}
my_set.remove(3)
print(my_set) # 輸出:{1, 2, 4}
刪除元素但不引發錯誤,如果元素不存在:
my_set = {1, 2, 3, 4}
my_set.discard(5) # 元素 5 不存在於集合,但不會引發錯誤
print(my_set) # 輸出:{1, 2, 3, 4}
my_set = {1, 2, 3, 4}
my_set.clear()
print(my_set) # 輸出:set()
original_set = {1, 2, 3}
new_set = original_set.copy()
print(new_set) # 輸出:{1, 2, 3}
您可以根據這些範例來理解集合的新增、修改和刪除操作。
運算 | 符號 / 方法 | 範例 |
---|---|---|
AND交集 | & |
set1 & set2 |
交集方法 | .intersection(set2) |
set1.intersection(set2) |
OR聯集 | | |
set1 | set2 |
聯集方法 | .union(set2) |
set1.union(set2) |
XOR差集 | - |
set1 - set2 |
差集方法 | .difference(set2) |
set1.difference(set2) |
方法 / 操作 | 說明 | 範例 |
---|---|---|
add(element) | 新增元素到集合 | my_set = {1, 2, 3}my_set.add(4)# 現在 my_set = {1, 2, 3, 4} |
remove(element) | 移除元素從集合,如果元素不存在會引發錯誤 | my_set = {1, 2, 3, 4}my_set.remove(3)# 現在 my_set = {1, 2, 4} |
discard(element) | 移除元素從集合,元素不存在不會引發錯誤 | my_set = {1, 2, 3, 4}my_set.discard(5)# 現在 my_set = {1, 2, 3, 4} |
pop() | 移除並回傳任意元素 | my_set = {1, 2, 3}removed_element = my_set.pop() |
clear() | 清空集合 | my_set = {1, 2, 3}my_set.clear()# 現在 my_set = set() |
copy() | 複製集合 | original_set = {1, 2, 3}new_set = original_set.copy() |
len(set) | 回傳集合中元素的數量 | my_set = {1, 2, 3}length = len(my_set)# length 為 3 |
element in set | 檢查元素是否在集合中 | my_set = {1, 2, 3}result = 2 in my_set# result 為 True |
set1.union(set2) | 回傳兩個集合的聯集 | set1 = {1, 2, 3}set2 = {3, 4, 5}union_set = set1.union(set2) |
set1.intersection(set2) | 回傳兩個集合的交集 | set1 = {1, 2, 3}set2 = {3, 4, 5}intersection_set = set1.intersection(set2) |
set1.difference(set2) | 回傳 set1 減去 set2 的差集 | set1 = {1, 2, 3}set2 = {3, 4, 5}difference_set = set1.difference(set2) |
set1.symmetric_difference(set2) | 回傳兩個集合的對稱差集 | set1 = {1, 2, 3}set2 = {3, 4, 5}symmetric_difference_set = set1.symmetric_difference(set2) |
set1.issubset(set2) | 檢查 set1 是否是 set2 的子集 | set1 = {1, 2}set2 = {1, 2, 3}result = set1.issubset(set2)# result 為 True |
set1.issuperset(set2) | 檢查 set1 是否是 set2 的超集 | set1 = {1, 2, 3}set2 = {1, 2}result = set1.issuperset(set2)# result 為 True |
分享所學貢獻社會
[Python教學]開發工具介紹
[開發工具] Google Colab 介紹
[Python教學] 資料型態
[Python教學] if判斷式
[Python教學] List 清單 和 Tuple元組
[Python教學] for 和 while 迴圈
[Python教學] Dictionary 字典 和 Set 集合
[Python教學] Function函示
[Python教學] Class 類別
最後最後有一件小小的請求,請大家幫我填寫一下問卷,
讓我們知道你想上怎麼樣課程,感激不盡。
問卷這邊
Facebook 粉絲頁 - TechMasters 工程師養成記